package com.ruoyi.system.mapper;

import com.ruoyi.common.core.domain.entity.Person;
import com.ruoyi.common.core.domain.entity.SysDept;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 基础人员Mapper接口
 *
 * @author ess
 * @date 2021-10-14
 */
public interface PersonMapper
{
    /**
     * 查询基础人员
     *
     * @param personId 基础人员主键
     * @return 基础人员
     */
    public Person selectPersonByPersonId(String personId);

    /**
     * 查询基础人员列表
     *
     * @param person 基础人员
     * @return 基础人员集合
     */
    public List<Person> selectPersonList(Person person);

    /**
     * 新增基础人员
     *
     * @param person 基础人员
     * @return 结果
     */
    public int insertPerson(Person person);

    /**
     * 修改基础人员
     *
     * @param person 基础人员
     * @return 结果
     */
    public int updatePerson(Person person);

    /**
     * 删除基础人员
     *
     * @param personId 基础人员主键
     * @return 结果
     */
    public int deletePersonByPersonId(String personId);

    /**
     * 批量删除基础人员
     *
     * @param personIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deletePersonByPersonIds(String[] personIds);

    /**
     * 根据姓名查询基础人员列表
     * @param personName
     * @return
     */
    List<Person> selectPersonListByPersonName(String personName);

    /**
     * 重置密码 个人中心
     *
     * @param userId 用户ID
     * @param passwordE 密码
     * @return 结果
     */
    int resetUserPwd(@Param("userId")Long  userId,@Param("password") String passwordE,@Param("updatePswTime") String updatePswTime);

    /**
     * 校验人员编号是否唯一
     *
     * @param empNum 人员编号
     * @return 结果
     */
    Integer checkEmpNumUnique(@Param("empNum")String empNum);


    int upresetPwd(@Param("personId")String personId,@Param("loginPsw") String loginPsw);

    List<Person> selectPersonWithSysDepListByPersonName(@Param("personName")String personName,@Param("depId") Long depId);


    //    用户中心同步使用
    void updatePersonIdNewUserCenter(@Param("personIdOld") String personIdOld,@Param("personIdNew")  String personIdNew);
}
